Skip to content

feat(conflict): Add the Tango conflict analyzer - #885

Merged
manjari25 merged 5 commits into
manjari/tango-analyzer-requestfrom
manjari/tango-analyzer-core
Oct 20, 2026
Merged

manjari25 merged 5 commits into
manjari/tango-analyzer-requestfrom
manjari/tango-analyzer-core

Conversation

@manjari25

Copy link
Copy Markdown
Contributor

Why

The orchestrator has no conflict analyzer that looks at the build graph, so batches touching different files but sharing affected targets run in parallel. The Tango analyzer compares the targets each batch affects, using the signatures, store, cache and request types from the earlier PRs in this stack.

What

  • Analyze signs the batch being analyzed (cache, then store, then Tango, created once) and reports ConflictTypeTargetOverlap for each in-flight batch whose recorded signature shares a target ID.
  • An in-flight batch is never sent to Tango. A missing record (ErrNoSignature) or a store error fails the analysis.
  • SignatureCache is exported so one cache can be shared across queues. The base revision comes from Params.BaseRevision, a function returning a commit SHA.
  • Not included: dictionary label writes and concurrent in-flight reads (marked TODO(tango)), the base-revision source, a real Tango adapter, and wiring. Nothing constructs the analyzer yet.

Test Plan

bazel test //submitqueue/extension/conflict/tango/...
CI

Issue

@manjari25
manjari25 added this pull request to stack #883 October 16, 2026 22:30
@manjari25
manjari25 marked this pull request as ready for review October 16, 2026 22:36
@manjari25
manjari25 requested review from a team, behinddwalls and sbalabanov as code owners October 16, 2026 22:36
Comment thread submitqueue/extension/conflict/tango/analyzer.go
Comment thread submitqueue/extension/conflict/tango/analyzer.go
Comment thread submitqueue/extension/conflict/tango/analyzer.go Outdated
Comment thread submitqueue/extension/conflict/tango/README.md
Comment thread submitqueue/extension/conflict/tango/analyzer.go
Comment thread submitqueue/extension/conflict/tango/BUILD.bazel
@manjari25
manjari25 force-pushed the manjari/tango-analyzer-core branch from 0bdff82 to 033fd29 Compare October 20, 2026 21:52
@manjari25
manjari25 force-pushed the manjari/tango-analyzer-core branch from 033fd29 to 2f737df Compare October 20, 2026 22:27
@behinddwalls
behinddwalls added this pull request to the merge queue Oct 20, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue because a pull request earlier in the stack was removed Oct 20, 2026
@behinddwalls
behinddwalls force-pushed the manjari/tango-analyzer-core branch from 2f737df to ce2e132 Compare October 20, 2026 22:58
@manjari25
manjari25 added this pull request to the merge queue Oct 20, 2026
Merged via the queue into main with commit c06f4a4 Oct 20, 2026
19 checks passed
@manjari25
manjari25 deleted the manjari/tango-analyzer-core branch October 20, 2026 23:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants